package com.Annotation注解;

import java.util.ArrayList;

/**
 * 作    者 ：吾路巴尼
 * 创建时间 ：2025/2/13-15:58
 *   1.@SuppressWarnings() ：忽略警告,当我们不希望看到这些警告的时候可以用SuppressWarnings注解来抑制警告信息 ；
 * 在{ " " }中可以写入您希望抑制或不显示的警告信息
 * 如:在里面写“all”，则忽略所有警告，如果写deprecation，则忽略所有已过时的警告等等；
 * @SuppressWarnings({"all"})  也可以精准地指定忽略的警告信息如： @SuppressWarnings({"deprecation","unused"})
 *
 *   2.@SuppressWarnings有作用范围，比如在main方法中，只抑制main方法中的警告，而不影响其他方法。
 * 比如main方法中的抑制警告在hello方法中不管用；
 *
 *   3.如果放在类前面，则类中所有方法中的警告都被抑制了。
 *
 *   4.@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
 *   可以放在类、字段，方法、参数、构造器，局部变量，模块等上，表示对这个元素进行注解。
 */
public class SuppressWarnings_抑制警告 {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("asd");
        list.add("123");
        list.add("&*()__");
        System.out.println(list.get(2));
    }
    /**main方法用了@SuppressWarnings({"all"}) 所以警告显示了，而hello方法中未使用@SuppressWarnings({"all"}) 所以警告存在*/
    public void hello(){
        ArrayList list = new ArrayList(); //未使用@SuppressWarnings({"all"})
        list.add("asd");
        list.add("123");
        list.add("&*()__");
        System.out.println(list.get(2));
    }
}


